package com.yq.dayin;


import javax.security.auth.callback.CallbackHandler;

/**
 * @author 3307235355@qq.com
 * @description
 * @since 2022/07/04 20:47
 */
/*
编写打印类Printer，声明私有属性index，初始值为1，用来表示是第几次打印。
（2）在打印类Printer中编写打印数字的方法print(int i)，
3的倍数就使用wait()方法等待，否则就输出i，使用notifyAll()进行唤醒其它线程。
（3）在打印类Printer中编写打印字母的方法print(char c)，
不是3的倍数就等待，否则就打印输出字母c，使用notifyAll()进行唤醒其它线程。
 */
public class Printer {
    private  int index = 1;
     synchronized void print(int i) {
            while (index % 3 == 0) {
                try {
                    wait();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
                System.out.print(i);
                index++;
                notify();
    }
     synchronized void print(char c) {
            while (index % 3 != 0) {
                try {
                    wait();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
                System.out.print(c);
                index++;
                notify();
    }

}
